<?php
$a_tablecolumns_namhoa_user = array(
    'name'    => 'user',
    'columns' => array(
        'userid'            ,
        'passwd'            ,
        'usertype'          ,
        'userstatus'        ,
        'saint'             ,
        'username'          ,
        'firstname'         ,
        'gender'            ,
        'birthday'          ,
        'usercrew'          ,
        'baptism_date'      ,
        'eucharist_date'    ,
        'confirmation_date' ,
        'email'             ,
        'phone'             ,
        'mobile'            ,
        'address'           ,
        'parish'            ,
        'gencode'           ,
        'note'              ,
        'creatorid'         ,
        'updaterid'         ,
        'insertdate'        ,
        'updatedate'        ,
    ),
);

function get_columns_namhoa_user() {
    return array(
        'name'    => 'user',
        'columns' => array(
            'userid'            ,
            'passwd'            ,
            'usertype'          ,
            'userstatus'        ,
            'saint'             ,
            'username'          ,
            'firstname'         ,
            'gender'            ,
            'birthday'          ,
            'usercrew'          ,
            'baptism_date'      ,
            'eucharist_date'    ,
            'confirmation_date' ,
            'email'             ,
            'phone'             ,
            'mobile'            ,
            'address'           ,
            'parish'            ,
            'gencode'           ,
            'note'              ,
            'creatorid'         ,
            'updaterid'         ,
            'insertdate'        ,
            'updatedate'        ,
        ),
    );
}

$f_userid            = '';
$f_passwd            = '';
$f_usertype          = '';
$f_userstatus        = '';
$f_saint             = '';
$f_username          = '';
$f_firstname         = '';
$f_gender            = '';
$f_birthday          = '';
$f_usercrew          = '';
$f_baptism_date      = '';
$f_eucharist_date    = '';
$f_confirmation_date = '';
$f_email             = '';
$f_phone             = '';
$f_mobile            = '';
$f_address           = '';
$f_parish            = '';
$f_gencode           = '';
$f_note              = '';
$f_creatorid         = '';
$f_updaterid         = '';
$f_insertdate        = date('Y-m-d H:i:s');
$f_updatedate        = $f_insertdate;

class namhoa_user {
    public function __get($v_property) {
        return '';
    }
} 

$d_user = new namhoa_user();

if (isset($_REQUEST['userid'            ] )) { $f_userid            = $_REQUEST['userid'            ] ; }
if (isset($_REQUEST['passwd'            ] )) { $f_passwd            = $_REQUEST['passwd'            ] ; }
if (isset($_REQUEST['usertype'          ] )) { $f_usertype          = $_REQUEST['usertype'          ] ; }
if (isset($_REQUEST['userstatus'        ] )) { $f_userstatus        = $_REQUEST['userstatus'        ] ; }
if (isset($_REQUEST['saint'             ] )) { $f_saint             = $_REQUEST['saint'             ] ; }
if (isset($_REQUEST['username'          ] )) { $f_username          = $_REQUEST['username'          ] ; }
if (isset($_REQUEST['firstname'         ] )) { $f_firstname         = $_REQUEST['firstname'         ] ; }
if (isset($_REQUEST['gender'            ] )) { $f_gender            = $_REQUEST['gender'            ] ; }
if (isset($_REQUEST['birthday'          ] )) { $f_birthday          = $_REQUEST['birthday'          ] ; }
if (isset($_REQUEST['usercrew'          ] )) { $f_usercrew          = $_REQUEST['usercrew'          ] ; }
if (isset($_REQUEST['baptism_date'      ] )) { $f_baptism_date      = $_REQUEST['baptism_date'      ] ; }
if (isset($_REQUEST['eucharist_date'    ] )) { $f_eucharist_date    = $_REQUEST['eucharist_date'    ] ; }
if (isset($_REQUEST['confirmation_date' ] )) { $f_confirmation_date = $_REQUEST['confirmation_date' ] ; }
if (isset($_REQUEST['email'             ] )) { $f_email             = $_REQUEST['email'             ] ; }
if (isset($_REQUEST['phone'             ] )) { $f_phone             = $_REQUEST['phone'             ] ; }
if (isset($_REQUEST['mobile'            ] )) { $f_mobile            = $_REQUEST['mobile'            ] ; }
if (isset($_REQUEST['address'           ] )) { $f_address           = $_REQUEST['address'           ] ; }
if (isset($_REQUEST['parish'            ] )) { $f_parish            = $_REQUEST['parish'            ] ; }
if (isset($_REQUEST['gencode'           ] )) { $f_gencode           = $_REQUEST['gencode'           ] ; }
if (isset($_REQUEST['note'              ] )) { $f_note              = $_REQUEST['note'              ] ; }

function make_filter_namhoa_user($s_field, $s_keyword) {
    $v_filter = '';

    if ($s_field != '' && $s_keyword != '') {
        switch ($s_field) {
            case 'userid'            :
            case 'passwd'            :
            case 'usertype'          :
            case 'userstatus'        :
            case 'saint'             :
            case 'username'          :
            case 'firstname'         :
            case 'gender'            :
            case 'usercrew'          :
            case 'email'             :
            case 'phone'             :
            case 'mobile'            :
            case 'address'           :
            case 'parish'            :
            case 'gencode'           :
            case 'note'              :
            case 'creatorid'         :
            case 'updaterid'         :
                $v_filter = "`$s_field` like '%$s_keyword%'";

                break;

            case 'insertdate'        :
            case 'updatedate'        :
                $v_thisday = $v_nextday = date('Y-m-d');

                if (strpos($s_keyword, '~') !== FALSE) {
                    $v_keywords = explode('~', $s_keyword)   ;
                    $v_thisday  = format_date($v_keywords[0]);
                    $v_nextday  = format_date($v_keywords[1]);
                }

                $v_filter = "(`$s_field` >= '$v_thisday 00:00:00' and `$s_field` <= '$v_nextday 23:59:59')";

                break;

            case 'birthday'          :
            case 'baptism_date'      :
            case 'eucharist_date'    :
            case 'confirmation_date' :
                $v_thisday = $v_nextday = date('Y-m-d');

                if (strpos($s_keyword, '~') !== FALSE) {
                    $v_keywords = explode('~', $s_keyword)   ;
                    $v_thisday  = format_date($v_keywords[0]);
                    $v_nextday  = format_date($v_keywords[1]);
                }

                $v_filter = "(`$s_field` >= '$v_thisday' and `$s_field` <= '$v_nextday')";

                break;

        }
    }

    return $v_filter;
}

function make_advanced_filter_namhoa_user($s_field, $s_keyword) {
    $v_filter = '';

    if ($s_field != '' && $s_keyword != '') {
        switch ($s_field) {
            case 'userid'            :
            case 'passwd'            :
            case 'usertype'          :
            case 'userstatus'        :
            case 'saint'             :
            case 'username'          :
            case 'firstname'         :
            case 'gender'            :
            case 'usercrew'          :
            case 'email'             :
            case 'phone'             :
            case 'mobile'            :
            case 'address'           :
            case 'parish'            :
            case 'gencode'           :
            case 'note'              :
            case 'creatorid'         :
            case 'updaterid'         :
                $v_filter = "`$s_field` like '%$s_keyword%'";

                break;

            case 'insertdate'        :
            case 'updatedate'        :
                if (strpos($s_keyword, '~') !== FALSE) {
                    list($v_fromday, $v_today) = explode('~', $s_keyword, 2);
                
                    if (validate_date($v_fromday)) {
                        $v_filter = $v_filter . "`$s_field` >= '$v_fromday 00:00:00'";
                    }
                
                    if (validate_date($v_today)) {
                        $v_filter = $v_filter . (empty($v_filter) ? '' : ' and ') . "`$s_field` <= '$v_today 23:59:59'";
                    }
                
                    $v_filter = empty($v_filter) ? '' : "($v_filter)";
                }
                elseif (validate_date($s_keyword)) {
                    $v_filter = "(`$s_field` >= '$s_keyword 00:00:00' and `$s_field` <= '$s_keyword 23:59:59')";
                }

                break;

            case 'birthday'          :
            case 'baptism_date'      :
            case 'eucharist_date'    :
            case 'confirmation_date' :
                if (strpos($s_keyword, '~') !== FALSE) {
                    list($v_fromday, $v_today) = explode('~', $s_keyword, 2);
                
                    if (validate_date($v_fromday)) {
                        $v_filter = $v_filter . "$s_field >= '$v_fromday'";
                    }
                
                    if (validate_date($v_today)) {
                        $v_filter = $v_filter . (empty($v_filter) ? '' : ' and ') . "$s_field <= '$v_today'";
                    }
                
                    $v_filter = empty($v_filter) ? '' : "($v_filter)";
                }
                elseif (validate_date($s_keyword)) {
                    $v_filter = "$s_field = '$s_keyword'";
                }

                break;

        }
    }

    return $v_filter;
}

function build_filter_namhoa_user($s_field) {
    echo '<option value="userid"'            , ($s_field == 'userid'             ? ' selected="selected"' : ''), '> Mã Số                </option>';
    echo '<option value="passwd"'            , ($s_field == 'passwd'             ? ' selected="selected"' : ''), '> Mật Khẩu             </option>';
    echo '<option value="usertype"'          , ($s_field == 'usertype'           ? ' selected="selected"' : ''), '> Phân Loại            </option>';
    echo '<option value="userstatus"'        , ($s_field == 'userstatus'         ? ' selected="selected"' : ''), '> Trạng Thái           </option>';
    echo '<option value="saint"'             , ($s_field == 'saint'              ? ' selected="selected"' : ''), '> Tên Thánh            </option>';
    echo '<option value="username"'          , ($s_field == 'username'           ? ' selected="selected"' : ''), '> Họ Và Tên            </option>';
    echo '<option value="firstname"'         , ($s_field == 'firstname'          ? ' selected="selected"' : ''), '> Tên                  </option>';
    echo '<option value="gender"'            , ($s_field == 'gender'             ? ' selected="selected"' : ''), '> Giới Tính            </option>';
    echo '<option value="birthday"'          , ($s_field == 'birthday'           ? ' selected="selected"' : ''), '> Ngày Sinh            </option>';
    echo '<option value="usercrew"'          , ($s_field == 'usercrew'           ? ' selected="selected"' : ''), '> Phân Ban             </option>';
    echo '<option value="baptism_date"'      , ($s_field == 'baptism_date'       ? ' selected="selected"' : ''), '> Ngày Rửa Tội         </option>';
    echo '<option value="eucharist_date"'    , ($s_field == 'eucharist_date'     ? ' selected="selected"' : ''), '> Ngày Rước Lễ Lần Đầu </option>';
    echo '<option value="confirmation_date"' , ($s_field == 'confirmation_date'  ? ' selected="selected"' : ''), '> Ngày Thêm Sức        </option>';
    echo '<option value="email"'             , ($s_field == 'email'              ? ' selected="selected"' : ''), '> Email                </option>';
    echo '<option value="phone"'             , ($s_field == 'phone'              ? ' selected="selected"' : ''), '> ĐT Nhà               </option>';
    echo '<option value="mobile"'            , ($s_field == 'mobile'             ? ' selected="selected"' : ''), '> ĐTDĐ                 </option>';
    echo '<option value="address"'           , ($s_field == 'address'            ? ' selected="selected"' : ''), '> Địa Chỉ              </option>';
    echo '<option value="parish"'            , ($s_field == 'parish'             ? ' selected="selected"' : ''), '> Giáo Họ              </option>';
    echo '<option value="gencode"'           , ($s_field == 'gencode'            ? ' selected="selected"' : ''), '> Mã Gen               </option>';
    echo '<option value="note"'              , ($s_field == 'note'               ? ' selected="selected"' : ''), '> Ghi Chú              </option>';
    echo '<option value="creatorid"'         , ($s_field == 'creatorid'          ? ' selected="selected"' : ''), '> Người Tạo            </option>';
    echo '<option value="updaterid"'         , ($s_field == 'updaterid'          ? ' selected="selected"' : ''), '> Người Cập Nhật       </option>';
    echo '<option value="insertdate"'        , ($s_field == 'insertdate'         ? ' selected="selected"' : ''), '> Ngày Tạo             </option>';
    echo '<option value="updatedate"'        , ($s_field == 'updatedate'         ? ' selected="selected"' : ''), '> Ngày Cập Nhật        </option>';
}

function build_advanced_filter_namhoa_user($s_field, $a_hide = array()) {
    if (empty($a_hide)) {
        return build_filter_namhoa_user($s_field);
    }

    $a_columns = array(
        'userid'            => 'Mã Số'                ,
        'passwd'            => 'Mật Khẩu'             ,
        'usertype'          => 'Phân Loại'            ,
        'userstatus'        => 'Trạng Thái'           ,
        'saint'             => 'Tên Thánh'            ,
        'username'          => 'Họ Và Tên'            ,
        'firstname'         => 'Tên'                  ,
        'gender'            => 'Giới Tính'            ,
        'birthday'          => 'Ngày Sinh'            ,
        'usercrew'          => 'Phân Ban'             ,
        'baptism_date'      => 'Ngày Rửa Tội'         ,
        'eucharist_date'    => 'Ngày Rước Lễ Lần Đầu' ,
        'confirmation_date' => 'Ngày Thêm Sức'        ,
        'email'             => 'Email'                ,
        'phone'             => 'ĐT Nhà'               ,
        'mobile'            => 'ĐTDĐ'                 ,
        'address'           => 'Địa Chỉ'              ,
        'parish'            => 'Giáo Họ'              ,
        'gencode'           => 'Mã Gen'               ,
        'note'              => 'Ghi Chú'              ,
        'creatorid'         => 'Người Tạo'            ,
        'updaterid'         => 'Người Cập Nhật'       ,
        'insertdate'        => 'Ngày Tạo'             ,
        'updatedate'        => 'Ngày Cập Nhật'        ,
    );

    $a_hide    = array_combine($a_hide, $a_hide);
    $a_columns = array_diff_key($a_columns, $a_hide);

    foreach ($a_columns as $v_columnname => $v_columncomment) {
        echo '<option value="', $v_columnname, '"', ($s_field == $v_columnname ? ' selected="selected"' : ''), '>', $v_columncomment, '</option>';
    }
}
?>